package demo02;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/*
 * 使用JDBC操作数据库步骤详解:
 *
 *
 *
 *
 */
public class JDBCDemo {
	public static void main(String[] args) throws Exception {
//		 * 1.注册驱动:使用DriverManger来注册
		//DriverManager.registerDriver(new com.mysql.jdbc.Driver());
		Class.forName("com.mysql.jdbc.Driver");
//		 * 2.获取和数据库的连接对象: 是Connection接口的实现类对象
		String url = "jdbc:mysql://localhost:3306/day04";
		//		jdbc:固定语法	数据库厂商名 IP地址     端口号   要连接的数据库
		Connection conn = DriverManager.getConnection(url, "root", "123");
//		 * 3.获取SQL语句的执行者对象: 是Statement接口的实现类对象
		Statement st =  conn.createStatement();
//		 * 4.结果集对象:是ResultSet接口的实现类对象
		ResultSet rs = st.executeQuery("select * from category");//执行查询,返回值是结果集
		//int rows = st.executeUpdate("insert into category values (6,'饮料')");
		//int rows = st.executeUpdate("delete from category");
		//执行增,删除,改,返回值是被影响的行数
		//		 * 5.处理结果集(打印,保存),迭代器 hasNext next
//		System.out.println(rows);
		while(rs.next()){//判断有没有下一条记录
			//取出对应字段的值
			// getInt  getString getDouble  getObject
			//getObject(1)  getObject(列名);
			Object cid = rs.getObject("cid");
			Object cname = rs.getObject("cname");
			System.out.println(cid+"\t"+cname);
		}
//		 * 6.释放资源
		rs.close();//只有执行查询,才有结果集对象,如果执行增删改,只有int类型行数
		st.close();
		conn.close();
	}
}
